package com.lnu_devteam.zongce.model.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;

import com.lnu_devteam.zongce.common.ErrorCode;
import com.lnu_devteam.zongce.exception.BusinessException;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 固定分值表
 * @TableName tb_fixed_score
 */
@ApiModel(description = "固定分值表")
@TableName(value ="tb_fixed_score")
@Data
public class FixedScore implements Serializable, Cloneable {
    /**
     * 固定分值标识自增ID
     */
    @ApiModelProperty("固定分值标识自增ID")
    @TableId(type = IdType.AUTO)
    private Long fsId;

    /**
     * 固定分值对应项目id，逻辑外键
     */
    @ApiModelProperty("固定分值对应项目id，逻辑外键")
    private Long fsProjectId;

    /**
     * 固定分值对应项目的第一级别，如国际赛、国赛
     */
    @ApiModelProperty("固定分值对应项目的第一级别，如国际赛、国赛")
    private String fsFirstLevel;

    /**
     * 固定分值对应项目的第二级别，如一等奖、金奖
     */
    @ApiModelProperty("固定分值对应项目的第二级别，如一等奖、金奖")
    private String fsSecondLevel;

    /**
     * 对应项目所得分值，如挑战杯国赛金奖时，该值为30
     */
    @ApiModelProperty("对应项目所得分值，如挑战杯国赛金奖时，该值为30")
    private Double fsScore;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    private Date createTime;

    /**
     * 是否删除标识，正常0、删除1， 默认正常0
     */
    @ApiModelProperty("是否删除标识，正常0、删除1， 默认正常0")
    private Integer isDelete;

    @ApiModelProperty(hidden = true)
    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    @Override
    public FixedScore clone() {
        try {
            return (FixedScore) super.clone();
        } catch (CloneNotSupportedException e) {
            throw new BusinessException(ErrorCode.SYSTEM_ERROR);
        }
    }
}